package org.cskt.sl.sys.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.cskt.sl.sys.entity.BaseInfo;
import org.cskt.sl.sys.example.BaseInfoExample;

public interface BaseInfoMapper {
	/**
	 * 查询基础信息数量
	 * @param example
	 * @return
	 */
    int countByExample(@Param("example")BaseInfoExample example);
    /**
     * 批量删除基础信息
     * @param example
     * @return
     */
    int deleteByExample(@Param("example")BaseInfoExample example);
    /**
     * 按主键删除基础信息
     * @param bid
     * @return
     */
    int deleteByPrimaryKey(Integer bid);
    /**
     * 新增基础信息
     * @param record
     * @return
     */
    int insert(BaseInfo record);
    /**
     * 根据字段非空新增字段信息
     * @param record
     * @return
     */
    int insertSelective(BaseInfo record);

    List<BaseInfo> selectByExample(BaseInfoExample example);
    /**
     * 根据主键获取基础信息
     * @param bid
     * @return
     */
    BaseInfo selectByPrimaryKey(Integer bid);
    /**
     * 根据条件批量更新基础信息(根据是否为空动态更新)
     * @param record
     * @param example
     * @return
     */
    int updateByExampleSelective(@Param("record") BaseInfo record, @Param("example") BaseInfoExample example);
    /**
     * 根据条件批量更新基础信息(完全的更新)
     * @param record
     * @param example
     * @return
     */
    int updateByExample(@Param("record") BaseInfo record, @Param("example") BaseInfoExample example);
    /**
     * 根据主键 更新单个基础信息(根据是否为空动态更新)
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(BaseInfo record);
    /**
     * 根据主键 更新单个基础信息(完全的更新)
     * @param record
     * @return
     */
    int updateByPrimaryKey(BaseInfo record);
}